// ==UserScript==
// @name         Auto Click Explanation
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Automatically click the "讲解" or "取消讲解" button every minute and show notifications on the page
// @author       You
// @match        https://buyin.jinritemai.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 创建一个用于显示通知的元素
    const notificationDiv = document.createElement('div');
    notificationDiv.style.position = 'fixed';
    notificationDiv.style.top = '10px';
    notificationDiv.style.right = '10px';
    notificationDiv.style.backgroundColor = '#4CAF50';
    notificationDiv.style.color = 'white';
    notificationDiv.style.padding = '10px';
    notificationDiv.style.borderRadius = '5px';
    notificationDiv.style.fontSize = '16px';
    notificationDiv.style.zIndex = '10000';
    notificationDiv.style.display = 'none';  // 初始时隐藏

    document.body.appendChild(notificationDiv);

    // 函数显示通知
    function showNotification(message) {
        notificationDiv.textContent = message;
        notificationDiv.style.display = 'block';
        setTimeout(() => {
            notificationDiv.style.display = 'none';  // 3秒后隐藏
        }, 3000);
    }

    // 模拟延迟的函数
    function delayedClick(callback) {
        const startTime = performance.now();

        function frame(time) {
            if (time - startTime >= 5000) {
                callback();  // 执行回调函数
            } else {
                requestAnimationFrame(frame);  // 等待下一帧
            }
        }

        requestAnimationFrame(frame);  // 开始请求动画帧
    }

    // 每分钟执行一次
    setInterval(() => {
        // 查找所有按钮，并选择第一个包含"讲解"或"取消讲解"文字的按钮
        const button = Array.from(document.querySelectorAll('button'))
            .find(button => {
                const text = button.textContent.trim();
                return text === '讲解' || text === '取消讲解';
            });

        const button_text = button.textContent.trim();

        if (button) {
            button.click();  // 第一次点击按钮
            showNotification(`按钮 "${button_text}" 已点击`);

            // 如果点击的是"取消讲解"按钮，等待5秒后再次点击
            if (button_text === '取消讲解') {
                delayedClick(() => {
                    button.click();  // 再次点击按钮
                    showNotification(`按钮 "讲解" 再次点击`);
                });
            }
        } else {
            showNotification('未找到讲解或取消讲解按钮');
        }
    }, 60000);  // 每 60000 毫秒（1分钟）执行一次
})();
